import os
import argparse


def rename_jpg_files(root_dir):
    """
    将指定目录及其子目录中所有以.jpg结尾的文件重命名为standard.jpg

    Args:
        root_dir: 要处理的根目录
    """
    # 检查目录是否存在
    if not os.path.exists(root_dir):
        print(f"错误: 目录 '{root_dir}' 不存在")
        return

    if not os.path.isdir(root_dir):
        print(f"错误: '{root_dir}' 不是一个目录")
        return

    # 遍历目录及其子目录
    for dirpath, _, filenames in os.walk(root_dir):
        jpg_files = [f for f in filenames if f.lower().endswith('.jpg')]

        if not jpg_files:
            continue  # 没有JPG文件，跳过

        print(f"在目录 '{dirpath}' 中找到 {len(jpg_files)} 个JPG文件")

        # 处理每个JPG文件
        for filename in jpg_files:
            old_path = os.path.join(dirpath, filename)

            # 如果已经是standard.jpg，跳过
            if filename.lower() == 'standard.jpg':
                print(f"  '{filename}' 已经是standard.jpg，跳过")
                continue

            new_path = os.path.join(dirpath, 'standard.jpg')

            # 处理重名情况
            counter = 1
            while os.path.exists(new_path):
                # 如果有重名，添加编号
                new_path = os.path.join(dirpath, f'standard_{counter}.jpg')
                counter += 1

            # 执行重命名
            try:
                os.rename(old_path, new_path)
                print(f"  已将 '{filename}' 重命名为 '{os.path.basename(new_path)}'")
            except Exception as e:
                print(f"  重命名 '{filename}' 失败: {str(e)}")


if __name__ == "__main__":
    # 设置命令行参数

    # 调用重命名函数
    rename_jpg_files("/Users/daxiang/Downloads/2_1")
    print("处理完成")
